package com.doujiao.auth.service;

import com.doujiao.core.auth.dto.AdminQueryDTO;
import com.doujiao.core.auth.vo.AdminPageVO;
import com.doujiao.core.auth.dto.LoginDTO;
import com.doujiao.core.auth.entity.Admin;
import com.doujiao.core.auth.vo.LoginVO;
import java.util.List;

public interface AdminService {
    /**
     * 管理员登录
     *
     * @param loginDTO 登录参数
     * @return 登录结果
     */
    LoginVO login(LoginDTO loginDTO);

    /**
     * 获取管理员权限列表
     * @param adminId 管理员ID
     * @return 权限标识列表
     */
    List<String> getAdminPermissions(Long adminId);

    /**
     * 新增管理员
     * @param admin 管理员信息
     * @return 新增的管理员ID
     */
    Long createAdmin(Admin admin);

    /**
     * 修改管理员信息
     * @param admin 管理员信息
     * @return 是否修改成功
     */
    Boolean updateAdmin(Admin admin);

    /**
     * 启用/禁用管理员
     * @param adminId 管理员ID
     * @param disabled 是否禁用
     * @return 是否操作成功
     */
    Boolean updateAdminStatus(Long adminId, Boolean disabled);

    /**
     * 分页查询管理员
     * @param queryDTO 查询参数
     * @return 分页结果
     */
    AdminPageVO<Admin> queryAdmins(AdminQueryDTO queryDTO);
}

